#!/bin/bash
# @Function
# echo each arguments on one line colorfully.
#
# @Usage
#   $ ./a2l arg1 arg2
#   $ ./a2l *.txt
#
# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#-a2l
# @author Jerry Lee (oldratlee at gmail dot com)


# NOTE: $'foo' is the escape sequence syntax of bash
readonly ec=$'\033' # escape char
readonly eend=$'\033[0m' # escape end

colorEcho() {
    local color="$1"
    shift
    # check isatty in bash https://stackoverflow.com/questions/10022323
    # if stdout is console, turn on color output.
    [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@"
}

readonly -a ECHO_COLORS=(33 35 36 31 32 37 34)
COUNT=0

for a; do
    colorEcho "${ECHO_COLORS[COUNT++ % ${#ECHO_COLORS[@]}]}" "$a"
done
